package back;

/**
 * Clase Agujero que implementa la interfaz NoMovible y Elemento
 * Permite definir el comportamiento de un Agujero
 */

public class Agujero implements NoMovible{


	/**
	 * Retorna verdadero siempre es posible acceder
	 * a un agujero desde cualquier direccion
	 * @param int direccion desde donde se quiere realizar el movimiento
	 * @param Celda destino
	 * @return boolean true.
	 */
	
	public boolean posibleMov(int direccion, Celda destino) {
		return true;
	}
	
	/**
	 * Llama a eliminar y elimina mov de celda
	 * @param Celda celda
	 * @param Movible mov
	 */
	
	public void pongoMov(Celda celda, Movible mov) {
		mov.eliminar(celda);
		
	}

	/**
	 * Setea en la celda recibida como parametro
	 * a noMov con un agujero y llama a interaccion
	 * @param Celda celda
	 */
	public void agrego(Celda celda) {
		celda.setNoMovible(this);
		interaccion(celda);
		
	}

	/**
	 * Elimina el Movible de la celda recibida como parametro
	 * @param Celda celda
	 */
	public void interaccion(Celda celda) {
		celda.eliminaMov();
		
	}
		
}
